package com.ym.b2b.product.service;

import com.ym.b2b.commons.exception.BaseException;
import com.ym.b2b.product.sqlbean.EmBProduct;
import com.ym.b2b.product.sqlbean.EmBProductIntroduction;
import com.zc.commons.base.Page;
import com.zc.commons.base.Result;

public interface ProductService {

    /**
     * 获取商品 复杂信息列表
     */
    public Result searchPageProduct(EmBProduct emBProduct, Page<EmBProduct> page) throws BaseException;

    /**
     * 前台获取商品详情 页里的 所有数据
     * 
     * @Title: showProductDetail
     * @Description:
     */
    public Result showProductDetail(EmBProduct emBProduct) throws BaseException;

    /**
     * 新增或修改商品信息
     * 
     * @Title: saveOrUpdateEmBProduct
     */
    public Result saveOrUpdateEmBProduct(EmBProduct emBProduct) throws BaseException;

    /**
     * ajax 联想搜索
     * 
     * @Title: searchAjaxProductList
     * @Description:
     */
    public Result searchAjaxProductList(EmBProduct emBProduct) throws BaseException;

    /**
     * 后台 单单获取商品明细
     * 
     * @Title: searchAllProductDetail
     * @Description: TODO
     */
    Result searchAllProductDetail(EmBProduct emBProduct) throws BaseException;

    /**
     * 批量删除
     * 
     * @Title: deleteBatchEmBProduct
     * @Description:
     */
    Result deleteBatchEmBProduct(EmBProduct emBProduct) throws BaseException;

    /**
     * 单个删除
     * 
     * @Title: deleteEmBProduct
     * @Description:
     */
    void deleteEmBProduct(EmBProduct emBProduct) throws BaseException;

    /**
     * 新增或修改 说明书
     * 
     * @Title: saveOrUpdateProductIntrduction
     * @Description: TODO
     */

    void saveOrUpdateProductIntrduction(EmBProductIntroduction emBProductIntroduction) throws BaseException;

    /**
     * 获取说明书详情
     * 
     * @Title: showEmBProductIntroductionDetail
     * @Description: TODO
     */
    EmBProductIntroduction showEmBProductIntroductionDetail(String productCode) throws BaseException;

    /**
     * 批量修改 商品数据
     * 
     * @Title: batchUpdateEmBProduct
     * @Description: TODO
     */
    Result batchUpdateEmBProduct(EmBProduct emBProduct) throws BaseException;

    /**
     * 简洁字段的商品列表 通用搜索
     * 
     * @Title: searchSimpleProductList
     * @Description: TODO
     */
    Result searchSimpleProductList(EmBProduct emBProduct) throws BaseException;

    /**
     * 后台商品分页列表
     * 
     * @Title: searchManagerProductList
     * @Description: TODO
     */
    Result searchManagerProductList(EmBProduct emBProduct, Page<EmBProduct> page) throws BaseException;

}
